<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客编辑</title>

    <!-- 引入自己写的样式 -->
    <link rel="stylesheet" href="css/conmmon.css">
    <link rel="stylesheet" href="css/blog_edit.css">

    <!-- 引入 editor.md 的依赖 -->
    <link rel="stylesheet" href="editor.md/css/editormd.min.css"/>
    <script src="js/jquery.min.js"></script>
    <script src="editor.md/editormd.js"></script>
    <script src="js/logout.js"></script>
    <script src="js/urlUtils.js"></script>
</head>

<body>
<!-- 导航栏 -->
<div class="nav">
    <img src="img/logo2.jpg" alt="">
    <span class="title"><a href="myblog_list.html">我的博客系统</a></span>
    <!-- 用来占据中间位置 -->
    <span class="spacer"></span>
    <a href="blog_list.html">主页</a>
    <a href="javascript:logout()">注销</a>
</div>
<!-- 编辑框容器 -->
<div class="blog-edit-container">
    <!-- 标题编辑区 -->
    <div class="title">
        <input id="title" type="text" placeholder="在这里写下文章标题">
        <button onclick="doUpdate()">提交修改</button>
    </div>
    <!-- 创建编辑器标签 -->
    <div id="editorDiv">
        <textarea id="editor-markdown" style="display:none;"></textarea>
    </div>
</div>

<script>
    // 初始化 markdown 编辑器
    var editor;

    function initEdit(md) {
        // 编辑器设置
        editor = editormd("editorDiv", {
            // 这里的尺寸必须在这里设置. 设置样式会被 editormd 自动覆盖掉.
            width: "100%",
            // 高度 100% 意思是和父元素一样高. 要在父元素的基础上去掉标题编辑区的高度
            height: "calc(100% - 50px)",
            // 编辑器中的初始内容
            markdown: md,
            // 指定 editor.md 依赖的插件路径
            path: "editor.md/lib/",
            saveHTMLToTextarea: true //
        });
    }

    // initEdit("# 在这里写下一篇博客"); // 初始化编译器的值

    // 解析出 url 中的 id
    var id = getValueOfUrl('id');

    // 向服务器查询该 id 对应的博客并显示在界面上
    function init() {
        // 1.校验参数
        if (id == null || id <= 0) {
            alert("参数有误,初始化失败!");
            return;
        }
        // 2.查询文章详情
        jQuery.ajax({
            type: 'get',
            url: 'art/update_init',
            data: {
                "id": id
            },
            success: function (res) {
                // 3.将查询到的结果展示在界面上
                if (res.code == 200 && res.data != null && res.data.id > 0) {
                    jQuery("#title").val(res.data.title);
                    initEdit(res.data.content);
                } else if (res.code == -2) {
                    alert("页面初始化异常!" + res.msg);
                    location.href = 'login.html';
                } else {
                    alert("页面初始化异常!" + res.msg);
                }
            }
        });
    }

    init();

    // 提交
    function doUpdate() {
        if (confirm("确认提交修改?")) {
            // 1.校验参数
            var title = jQuery("#title");
            if (title.val().trim() == "") {
                alert("请输入标题!");
                return;
            }
            if (editor.getValue() == "") {
                alert("请输入博客正文!");
                return;
            }
            // 2.将博客提交给后端
            jQuery.ajax({
                type: 'post',
                url: 'art/update',
                data: {
                    'title': title.val().trim(),
                    'content': editor.getValue(),
                    'id': id
                },
                success: function (res) {
                    // 3.将后端返回的结果展现给用户
                    if (res.code == 200 && res.data == 1) {
                        alert("修改成功!");
                        location.href = 'myblog_list.html';
                    } else if (res.code == -2) {
                        alert("提交失败!" + res.msg);
                        location.href = 'login.html';
                    } else {
                        alert("提交失败!" + res.msg);
                    }
                }
            });
        }
    }

</script>
</body>

</html>